#include "my_tft.hpp"

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
U8G2_FOR_ADAFRUIT_GFX u8g2_for_adafruit_gfx;

void tft_init() {
  pinMode(TFT_BL, OUTPUT);
  digitalWrite(TFT_BL, HIGH);  // 点亮背光
  SPI.begin(8, -1, 18);  // SCLK=8, MISO=-1(不用), MOSI=18

  tft.initR(INITR_BLACKTAB);
  tft.setRotation(1);
  tft.fillScreen(ST77XX_BLACK);

  u8g2_for_adafruit_gfx.begin(tft);
  u8g2_for_adafruit_gfx.setFont(u8g2_font_wqy12_t_gb2312a);  // 支持简体中文
}

void tft_fill_color(uint16_t color) {
  tft.fillScreen(color);
}

void tft_display_text(const char* text, int x, int y, uint16_t color, uint8_t size) {
  tft.setCursor(x, y);
  tft.setTextColor(color);
  tft.setTextSize(size);
  tft.print(text);
}

void tft_display_utf8(const char* text, int x, int y, uint16_t color) {
  u8g2_for_adafruit_gfx.setForegroundColor(color);
  u8g2_for_adafruit_gfx.setCursor(x, y);
  u8g2_for_adafruit_gfx.print(text);
}
